package com.general.framework.web.annotations;

import com.general.framework.core.enums.BusinessType;
import com.general.framework.core.enums.ContextUserType;

import java.lang.annotation.*;

/**
 * 自定义操作日志记录注解
 * 需要配个swagger @Api和@ApiOperation
 * 模块名称modelName -> @Api#tags
 * 操作操作operateName -> @ApiOperation#value
 * @author leejean
 */
@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log {

    /**
     * 功能
     */
    BusinessType businessType() default BusinessType.DEFAULT;

    /**
     * 操作人类别
     */
    ContextUserType ContextUserType() default ContextUserType.ADMIN_PLATFORM;

    /**
     * 是否保存请求的参数
     */
    boolean saveRequest() default true;

    /**
     * 是否保存响应的参数
     */
    boolean saveResponse() default true;
}
